<?php
	include('../../global/config.php');
	include('../../lib/PDO2.class.php');
	include('../../lib/Etudiants.class.php');
	include('../../lib/Enseignant.class.php');
	include('../../lib/ActionDeCommunication.class.php');
	include('../../lib/PHPMailer.class.php');
	include('../../modeles/envoyerMail.php');

	$mail['RAPPEL_ETUDIANT_ADC'] = "mail/rappel_etudiant_adc.php";
	$mail['RAPPEL_PROF_ADC'] = "mail/rappel_prof_adc.php";
	$mail['RAPPEL_ETUDIANT_FORUM'] = "mail/rappel_etudiant_forum.php";
	$mail['RAPPEL_PROF_FORUM'] = "mail/rappel_prof_forum.php";
	$mail['RAPPEL_ETUDIANT_FICHEADC'] = "mail/rappel_etudiant_ficheADC.php";

	$bdd = PDO2::getInstance();

		/* Rappel à étudiant 10 jours avant une adc */
	$donnees = $bdd->query(	'
							SELECT *
							FROM '.TABLE_ADC.'
							WHERE '.DATE_ADC.' IS NOT NULL
								AND TO_DAYS(NOW()) - TO_DAYS('.DATE_ADC.') = 10
							');
	if(!empty($donnees))
	{
		$donnees = $donnees->fetchAll();
		foreach($donnees as $d) // Pour chaque ADC, on va recupérer la liste des élèves.
		{
			$eleveADC = $bdd->query('
										SELECT '.ID_ETU_PARTICIPE.'
										FROM '.TABLE_PARTICIPE.'
										WHERE '.ID_ADC_PARTICIPE.' = '.$d[ID_ADC].'
									');

			$eleveADC = $eleveADC->fetchAll();
			if(!empty($eleveADC))
			{
				foreach($eleveADC as $e)
				{
					$e = new Etudiants($e[ID_ETU_PARTICIPE]);
					$e->getOneEtudiant();
					$destinataire[] = $e->get_mail();
				}

				$corps = include $mail['RAPPEL_ETUDIANT_ADC'];
// 				envoyerMail("alexandre.lesage@etu.univ-savoie.fr", "teste", $destinataire, $corps, "Rappel : Participation à une Actionde Communication");
			}

			$profADC = $bdd->query(	'
									SELECT '.LOGIN_PROF_ADC.'
									FROM '.TABLE_ADC.'
									WHERE '.ID_ADC.' = '.$d[ID_ADC].'
									');

			$profADC = $profADC->fetchAll();
			if(!empty($profADC))
			{
				foreach($profADC as $p)
				{
					$p = new Enseignant($p[LOGIN_PROF_ADC]);
					$p->getOneEnseignant();
					$destinataire[] = $p->get_mail();
				}

				$corps = include $mail['RAPPEL_PROF_ADC'];
// 				envoyerMail("alexandre.lesage@etu.univ-savoie.fr", "teste", $destinataire, $corps, "Rappel : Participation à une Actionde Communication");
			}
		}

		/* Rappel à étudiant 10 jours avant un forum */
		$donnees = $bdd->query(	'
							SELECT *
							FROM '.TABLE_FORUM.'
							WHERE '.DATE_FORUM.' IS NOT NULL
								AND TO_DAYS(NOW()) - TO_DAYS('.DATE_FORUM.') = 10
							');
		if(!empty($donnees))
		{
			$donnees = $donnees->fetchAll();
			foreach($donnees as $d) // Pour chaque forum, on va recupérer la liste des élèves.
			{
				if(!is_null($d[LOGIN_ETU1_FORUM]) || !is_null($d[LOGIN_ETU2_FORUM]))
				{
					if(!is_null($d[LOGIN_ETU1_FORUM]))
					{
						$e = new Etudiants($d[LOGIN_ETU1_FORUM]);
						$e->getOneEtudiant();
						$destinataire[] = $e->get_mail();
					}

					if(!is_null($d[LOGIN_ETU2_FORUM]))
					{
						$e = new Etudiants($d[LOGIN_ETU2_FORUM]);
						$e->getOneEtudiant();
						$destinataire[] = $e->get_mail();
					}

					$corps = include $mail['RAPPEL_ETUDIANT_FORUM'];
// 					envoyerMail("alexandre.lesage@etu.univ-savoie.fr", "teste", $destinataire, $corps, "Rappel : Participation à une Actionde Communication");
				}

				if(!is_null($d[PROF_FORUM]))
				{
					$p = new Enseignants($p[LOGIN_PROF_ADC]);
					$p->getOneEnseignant();
					$destinataire[] = $p->get_mail();
					$corps = include $mail['RAPPEL_PROF_FORUM'];
// 	 				envoyerMail("alexandre.lesage@etu.univ-savoie.fr", "teste", $destinataire, $corps, "Rappel : Participation à une Actionde Communication");
				}
			}
		}

		/* Rappelle etudiant remplir fiche ADC */
		$donnees = $bdd->query(	'
								SELECT *
								FROM '.TABLE_ADC.' A
									JOIN '.TABLE_PARTICIPE.' P ON A.'.ID_ADC.' = P.'.ID_ADC_PARTICIPE.'
								WHERE '.DATE_ADC.' IS NOT NULL
									AND TO_DAYS(NOW()) - TO_DAYS('.DATE_ADC.') = 15
									AND '.CONFIRM_FICHE_ADC.' IS NULL
								');
		if(!empty($donnees))
		{
			foreach($donnees as $d)
			{
				$e = new Etudiant($d[ID_ETU_PARTICIPE]);
				$e->getOneEtudiant();
				$destinataire[] = $e->get_mail();
				$corps = include $mail["RAPPEL_ETUDIANT_FICHEADC"];
// 	 			envoyerMail("alexandre.lesage@etu.univ-savoie.fr", "teste", $destinataire, $corps, "Rappel : Participation à une Actionde Communication");
			}
		}

		/* Rappel prof remplir fiche bilan forum */
		$donnees = $bdd->query(	'
								SELECT *
								FROM '.TABLE_FORUM.' A
								WHERE '.DATE_FORUM.' IS NOT NULL
									AND TO_DAYS(NOW()) - TO_DAYS('.DATE_FORUM.') = 15
									AND '.CONFIRM_FICHE_FORUM.' IS NULL
								');
		if(!empty($donnees))
		{
			foreach($donnees as $d)
			{
				$p = new Enseignant($d[LOGIN_PROF]);
				$p->getOneEnseignant();
				$destinataire[] = $p->get_mail();
				$corps = include $mail["RAPPEL_PROF_FICHEBILAN"];
//	 			envoyerMail("alexandre.lesage@etu.univ-savoie.fr", "teste", $destinataire, $corps, "Rappel : Participation à une Actionde Communication");
			}
		}

		/* Envoi mail admin si manque de prof ou eleve à une adc */
		$donnees = $bdd->query(	'
								SELECT *
								FORM '.TABLE_ADC.'
								WHERE TO_DAYS(NOW()) - TO_DAYS('.DATE_LIMITE_ADC.') = 7
								');

		if(!empty($donnees))
		{
			$envoyerMail = false;
			 foreach($donnees as $d)
			 {
			 	if(is_null($d[LOGIN_PROF_ADC])) // Si aucun prof est inscrit on peut envoyer le mail
					$envoyerMail = true;

			 	/* On regarde si aucun éleve est inscrit */
			 	$eleveQuery = $bdd->query(	'
			 								SELECT *
			 								FORM '.TABLE_PARTICIPE.'
			 								WHERE '.ID_ADC_PARTICIPE.' = '.$d[ID_ADC].'
			 									AND '.ID_ETU_PARTICIPE.' IS NULL
			 								');
			 	if(!empty($eleveQuery)) /* Si c'est le cas on peut envoyer le mail. */
			 	{
			 		$envoyerMail = true;
			 	}

			 	if(!$envoyerMail)
			 	{
			 		//	 				envoyerMail("alexandre.lesage@etu.univ-savoie.fr", "teste", $destinataire, $corps, "Rappel : Participation à une Actionde Communication");
			 	}
			 }
		}
	}
?>